home *** CD-ROM | disk | FTP | other *** search
/ Aminet 12 / Aminet 12 (1996)(GTI - Schatztruhe)[!][Jun 1996].iso / Aminet / dev / e / framework.lha / fw / wbAppMenuItem.e < prev    next >
Encoding:
Text File  |  1996-01-28  |  1.2 KB  |  45 lines

  1.  
  2. -> wbAppMenuItem is an abstraction of WB AppMenuItems.
  3.  
  4. -> Copyright © Guichard Damien 01/04/1996
  5.  
  6. OPT MODULE
  7. OPT EXPORT
  8.  
  9. MODULE 'wb','workbench/workbench','workbench/startup'
  10. MODULE 'fw/wbObject','fw/wbMessagePort'
  11.  
  12. OBJECT wbAppMenuItem OF wbMessagePort
  13.   appMenuItem
  14. ENDOBJECT
  15.  
  16. -> Create a WB AppMenuItem.
  17. PROC create(itemText) OF wbAppMenuItem HANDLE
  18.   IF workbenchbase=NIL THEN Raise(0)
  19.   IF self.makePort()=FALSE THEN Raise(0)
  20.   self.appMenuItem:=AddAppMenuItemA(0,0,itemText,self.port,NIL)
  21.   IF self.appMenuItem=NIL THEN Raise(0)
  22. EXCEPT
  23.   self.remove()
  24.   RETURN FALSE
  25. ENDPROC TRUE
  26.  
  27. -> Handle the receipt of a message at the object's MsgPort.
  28. PROC handleMessage(appMsg:PTR TO appmessage) OF wbAppMenuItem
  29.   IF appMsg.numargs=0 THEN RETURN self.handleNoIconSelected()
  30. ENDPROC self.handleSelectedIcons(appMsg.arglist)
  31.  
  32. -> Handle AppMenuItem selection without any WB Icon selected.
  33. PROC handleNoIconSelected() OF wbAppMenuItem IS STOPALL
  34.  
  35. -> Handle selected WB Icons.
  36. PROC handleSelectedIcons(argList:PTR TO wbarg) OF wbAppMenuItem IS PASS
  37.  
  38. -> Remove the WB AppMenuItem.
  39. PROC remove() OF wbAppMenuItem
  40.   IF self.appMenuItem THEN RemoveAppIcon(self.appMenuItem)
  41.   IF self.port THEN self.deletePort()
  42.   self.appMenuItem:=NIL
  43. ENDPROC
  44.  
  45.